import type { Captcha, LoginParams, TokenInfo } from "../pages/login/login.type";
import { request } from "./../utils/request";

export class CommonApi {
  /**
   * 获取验证码
   */
  static getCaptcha() {
    /**
     * axios 请求方法接收两个泛型
     * 第一个泛型:请求参数的类型
     * 第二个泛型:响应数据的类型
     */
    return request.get<void, Captcha>("/admin/base/open/captcha?height=45&width=150&color=%232c3142");
  }

  /**
   * 登录
   */
  static login (params: LoginParams) {
    return request.post<LoginParams, TokenInfo>('/admin/base/open/login', params)
  }

  static refreshToken (params: Pick<TokenInfo, 'refreshToken'>) {
    return request.get<Pick<TokenInfo, 'refreshToken'>, TokenInfo>('/admin/base/open/refreshToken', {
      params
    })
  }

  static getPersonInfo () {
    return request.get<{}, any>('/admin/base/comm/person')
  }
}
